跳到主要内容

3.2 显示屏模块

  1. 首先在原理图里找到连接OLED显示屏的引脚并设置一下相应的引脚功能,根据图1.5简易示波器DIY原理图和图1.6中STM32G031原理图,找到OLED显示屏所连接的芯片对应的引脚为PA15、PB3、PA7、PA6,选择这四个引脚的功能为GPIO_Output,并分别给这四个引脚取名为OLED_CLK、OLED_DIN、OLED_RES、OLED_DC,配置完成后保存并生成初始化代码。

alt text
图3.2.1 OLED显示屏引脚连接

alt text
图3.2.2 对应连接的芯片引脚

选择这四个引脚的功能为GPIO_Output,点击引脚处进行选择引脚功能,每个引脚的配置方法相同。

alt text
图3.2.3 配置引脚功能

并分别给这四个引脚取名为OLED_CLK、OLED_DIN、OLED_RES、OLED_DC,配置完成后保存并生成初始化代码。这里说两种修改引脚名称的方法。

一:是可以通过右击引脚分别修改这四个的引脚名称,这里用第一种方法来修改PA6为OLED_DC(其余的也可以)。

alt text
图3.2.4 修改引脚名称

修改PA6引脚名称为OLED_DC。

alt text
图3.2.5 输入要改为的引脚名称

二:可以通过点开System Core->GPIO

alt text
图3.2.6 点开System Core->GPIO

用第二种方法来将PA7的名称修改为OLED_RES。

alt text
图3.2.7 将PA7的名称修改为OLED_RES

其他的引脚名称大家自行用以上两种方法自行修改。下图可以表明引脚名称已经修改完成,如下图所示,点击左上角保存按钮(下图中还对界面所表示的含义进行了简要的描述)。

alt text
图3.2.8 点击保存按钮

下图为点击保存后页面,将在图中进行注释说明

alt text
图3.2.9 部分页面图标说明

  1. 代码编写 在编写代码之前需要在程序里添加三个头文件,分别是oled.h、oledfont.h、oled.c(这三个文件为开源可在eetreeGitHub查找下载,下载链接为:

其中oled.h、oledfont.h添加进Core->Inc中,oled.c添加进Core->Src中(直接将在GitHub上下载好的文件分别复制到Core文件夹的Inc文件夹和Src文件夹),添加完成后如下图所示。

alt text
图3.2.10 添加头文件

添加完这三个工程文件后就可以主程序中开始编写代码,此例程的目的是点亮屏幕,首先在主程序中(main.c)添加oled.h头文件(#include ”oled.h”)(注意要将此行代码放在user code begin和end之间,保证编译完代码不会被刷掉)。

alt text
图3.2.11 在主程序中添加添加oled.h头文件 在int main(void)里面添加代码,写完如图几行代码后屏幕的初始化就完成了,后面可以添加代码让屏幕上显示自己想要的字符或者图像。

alt text
图3.2.10 添加屏幕初始化的代码

关于如何找到自己想要在屏幕上显示的内容的函数,我们可以打开oled.c,通过文件大纲可以快速的找到想要使用的功能。

alt text
图3.2.11 如何快速找到要用的函数

接下来就用一个例子来介绍一下这个过程,我们将在屏幕上输出字符串“Hello world”,在下图中我们可以学习这个函数如何来使用,然后把想实现的效果放进主函数里。

alt text
图3.2.12 显示字符串的函数代码格式

在main.c函数中添加下图中代码,屏幕将会显示字符串“Hello world”。

alt text
图3.2.13 在主函数添加以上代码

添加完成后,点击保存后进行编译。编译完成后,在Debug文件夹里会生成一个.elf文件。

alt text
图3.2.14 保存编译生成.elf文件

接下来打开下载好的STM32CubeProgrammer来进行程序烧录。

(1)首先将G031_Kit连接USB至电脑,打开自己电脑的设备管理器,若连接成功则出现对应的COM口。

alt text
图3.2.15 找到相对应的端口

(2)打开STM32CubeProgrammer软件,将在STM32CubeIDE生成的.elf文件拖至STM32CubeProgrammer页面中(或者可以先把STM32CubeIDE生成的.elf文件下载到本地电脑中,之后在STM32CubeProgrammer页面中通过点击“Open file”将.elf文件选择进来)。

alt text
图3.2.16 将.elf文件移植到STM32CubeProgrammer中

alt text
图3.2.17 设置相应的COM口后点击Connect

注意:如果板卡已经烧录过程序,则上电之后按板卡上的RST键后显示屏就会有显示。此时点击STM32CubeProgrammer上的Connect键不能连接成功,还会报错,如下图所示。如遇到这种情况,按住板卡上的BOOT键重新连接USB接口进行上电,即可重新烧录程序。

alt text
图3.2.18 可能出现的错误 右上角显示“Connected”代表板卡已经正常上电,点击“Download”进行烧录。

alt text
图3.2.19 点击“Download”进行烧录

文件下载完成。

alt text
图3.2.20 文件下载完成

按一下板卡上的RST键,显示屏将会显示“Hello world”。

alt text
图3.2.21 屏幕显示效果